<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Permiso_lst( $this );

	class Permiso_lst extends Lst
	{
	function Permiso_lst( &$oModule )
		{
			$this->Lst ( $oModule );
		}
	function initialize()
		{
			$this->oFiltro = $this->oModule->loadClass( 'Permiso_frm' );
			$this->aFields = array_merge ( (array)$this->aFields,  (array)$this->oFiltro->getFieldArray() );
			$this->aFields[ncAccion] = getParam(ncAccion);
			$this->aFields[ncActor] = getParam(ncActor);
			$this->setTitle ( "Permisos" );
			$this->setSummary( "Esta tabla contiene un diccionario de Permisos" );
			$this->addColumn ( 'Accion', 'cdAccion', true );
			$this->addColumn ( 'Actor', 'cdActor', true );
			$this->oDatabase = openMetadataDB ( getParam('cPathModule') );
		}
	function setLevel()
		{
			$this->aShowColumns = array_keys ( $this->aColumns );
			if ( array_key_exists( 'ncActor', $this->aFields) )  unset($this->aShowColumns[array_search( 'Actor',$this->aShowColumns)]);
			if ( array_key_exists( 'ncAccion', $this->aFields) )  unset($this->aShowColumns[array_search( 'Accion',$this->aShowColumns)]);
		}
	function query()
		{
			// Arma el Query
				$cSql = "SELECT Per.ncAccion, Per.ncActor, cdAccion, cdActor
									FROM stPermiso as Per
									JOIN stActor as Act
										ON Act.ncActor = Per.ncActor
									JOIN stAccion as Acc
										ON Acc.ncAccion = Per.ncAccion";
			// Arma el Filtro de la Consulta
				$this->oFiltro->setDefaultSearchField( "concat(cdAccion, ' ', cdActor)" );
				$this->oWhere->addArray ( $this->oFiltro->getFilterdArray() , 'Per' );
			return $cSql . $this->oWhere->make();
		}
	function makeListActions()
		{
			$cParametroRegistro =  $this->getFieldString();
			$this->addListAction ( ASIGNAR_PERMISOS, $cParametroRegistro, 'I', VENTANA_SECUNDARIA );
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro = "ncPermiso=" . $aRow["ncPermiso"];
			$this->addRowAction ( ELIMINAR_PERMISO, $cParametroRegistro );
		}
	}
?>